import vue from 'rollup-plugin-vue';
import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import postcss from 'rollup-plugin-postcss';
import { terser } from 'rollup-plugin-terser';
import replace from '@rollup/plugin-replace';
import alias from '@rollup/plugin-alias';


export default {
    input: 'src/main.js',
    output: {
        file: 'dist/bundle.js',
        format: 'iife', // 浏览器直接运行的格式
        name: 'App',
        globals: {} // 清空外部依赖声明
    },
    plugins: [
        alias({
            entries: [
                // 关键：替换 Vue 内部的 styleInject 路径
                {
                    find: 'vue/dist/styleInject', // Vue 3 内部样式注入模块的路径
                    replacement: './custom-style-inject.js', // 指向自定义文件
                },
            ],
        }),
        replace({
            'process.env.NODE_ENV': JSON.stringify('production'),
            preventAssignment: true
        }),
        vue({
            target: 'browser',
            compileTemplate: true,
            css: true
        }),
        resolve({ browser: false }),
        commonjs(),
        postcss({ extract: true }),
        // terser() // 压缩代码
    ]
}